1 GCC
 The GCC command invokes the GNU C compiler.

      GCC file-spec

2 Parameters

 file-spec

     A C source file.  If no input file extension is specified, GNU C 
     assumes .C as the default extension.

2 Qualifiers

 GNU C command qualifiers modify the way the compiler handles the
 compiliation.

 The following is the list of available qualifiers for GNU C:


      /CC1_OPTIONS=(option [,option...]])

      /DEBUG

      /DEFINE=(identifier[=definition][,...])

      /INCLUDE_DIRECTORY=(path [,path...]])

      /MACHINE_CODE

      /OPTIMIZE

      /UNDEFINE=(identifier[,identifier,...])

      /VERBOSE


2 Linking

 When linking programs compiled with GNU C, you should include the GNU
 C library before the VAX C library.  For example,

  LINK object-file,GNU_CC:[000000]GCCLIB/LIB,SYS$LIBRARY:VAXCRTL/LIB

 You can also link your program with the shared VAX C library.  This
 can reduce the size of the .EXE file, as well as make it smaller
 when it's running.  For example,

  $ LINK object-file, GNU_CC:[000000]GCCLIB/LIB,SYS$INPUT:/OPTIONS
  SYS$SHARE:VAXCRTL/SHARE

 (If you use the second example and type it in by hand, be sure to type
  ^Z after the last carriage return)

2 /DEBUG

 /DEBUG includes additional information in the object file output so
 that the program can be debugged with the VAX Symbolic Debugger.
 This qualifier includes very little information, so using the
 debugger is somewhat difficult.

2 /DEFINE=(identifier[=definition][,...])

 /DEFINE defines a string or macro ('definition') to be substituted 
 for every occurrence of a given string ('identifier') in a program.
 It is equivalent to the #define preprocessor directive.

 All definitions and identifiers are converted to uppercase unless they
 are in quotation marks.

 The simple form of the /DEFINE qualifier,

 /DEFINE=vms

 results in a definition equivalent to the preprocessor directive

 #define VMS 1

 You must enclose macro definitions in quotation marks, as in this
 example:

 /DEFINE="C(x)=((x) & 0xff)"

 This definition is the same as the preprocessor definition

 #define C(x) ((x) & 0xff)

 If more than one /DEFINE is present on the GCC command line, only
 the last /DEFINE is used.

 If both /DEFINE and /UNDEFINE are present on a command line, /DEFINE
 is evaluated before /UNDEFINE

2 /INCLUDE_DIRECTORY=(path [,path...])

 The /INCLUDE_DIRECTORY qualifier provides additional directories to
 search for user-defined include files.  'path' can be either a 
 logical name or a directory specification.

 There are two forms for specifying include files - #include "file-spec"
 and #include <file-spec>.  For the #include "file-spec" form, the search
 order is:

 1.  The directory containing the source file.

 2.  The directories in the /INCLUDE qualifier (if any).

 3.  The directory (or directories) specified in the logical name
     GNU_CC_INCLUDE.

 4.  The directory (or directories) specified in the logical name
     SYS$LIBRARY.

 For the #include <file-spec> form, the search order is:

 1.  The directories specified in the /INCLUDE qualifier (if any).

 2.  The directory (or directories) specified in the logical name
     GNU_CC_INCLUDE.

 3.  The directory (or directories) specified in the logical name
     SYS$LIBRARY.

2 /MACHINE_CODE

 Tells GNU C to output the machine code generated by the compiler.  Note
 that no object file is produced when /MACHINE_CODE is specified.  The
 machine code is output to a file with the same name as the input file,
 with the extension .S.

2 /OPTIMIZE
    /NOOPTIMIZE

 Controls whether optimization is performed by the compiler.  By default,
 optimization is on.  /NOOPTIMIZE turns optimization off.

2 /UNDEFINE

 /UNDEFINE cancels a macro definition.  Thus, it is the same as the
 #undef preprocessor directive.

 If more than one /UNDEFINE is present on the GCC command line, only
 the last /UNDEFINE is used.

 If both /DEFINE and /UNDEFINE are present on a command line, /DEFINE
 is evaluated before /UNDEFINE

2 /VERBOSE

 Controls whether the user sees the invocation command strings for the
 preprocessor, compiler, and assembler.  The compiler also outputs
 some statistics on time spent in its various phases.

